package com.punai.customer.mapper;

import com.punai.common.core.mapper.CommonMapper;
import com.punai.customer.domain.CusLinkMaterialStaCus;
import com.punai.customer.domain.vo.CusLinkStaVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 标准材料与客户材料的对应Mapper接口
 *
 * @author zxw_
 * @date 2023-01-30
 */
public interface CusLinkMaterialStaCusMapper extends CommonMapper<CusLinkMaterialStaCus>
{
    /**
     * 查询标准材料与客户材料的对应
     *
     * @param id 标准材料与客户材料的对应主键
     * @return 标准材料与客户材料的对应
     */
    public CusLinkMaterialStaCus selectCusLinkMaterialStaCusById(String id);

    /**
     * 查询标准材料与客户材料的对应列表
     *
     * @param cusLinkMaterialStaCus 标准材料与客户材料的对应
     * @return 标准材料与客户材料的对应集合
     */
    public List<CusLinkMaterialStaCus> selectCusLinkMaterialStaCusList(CusLinkMaterialStaCus cusLinkMaterialStaCus);


    /**
     * 删除标准材料与客户材料的对应
     *
     * @param id 标准材料与客户材料的对应主键
     * @return 结果
     */
    public int deleteCusLinkMaterialStaCusById(@Param("id")String id,@Param("companyId")Long companyId);

    /**
     * 批量删除标准材料与客户材料的对应
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteCusLinkMaterialStaCusByIds(String[] ids);

    List<CusLinkMaterialStaCus> selectSettingLinkList(@Param("companyId") Long companyId,
                                                      @Param("cusId") String cusId,@Param("staId")String staId);

    void deleteLinkByCusId(@Param("ids") List<String>  ids, @Param("companyId") Long companyId);

    void deleteByNotInId(@Param("companyId") Long companyId, @Param("cusId") String cusId,@Param("ids") List<String> ids);

    void updateCoefficient(@Param("companyId") Long companyId, @Param("item") CusLinkStaVo item);


//    update cus_link_material_sta_cus set spec_coefficient =
//        <foreach collection="linkList" item="item" index="index"
//    separator=" " open="case id" close="end">
//    when #{item.id} then #{item.pids}
//        </foreach>
//    where id in
//        <foreach collection="childrenList" item="item" index="index"
//    separator="," open="(" close=")">
//        #{item.id}
//        </foreach>
//    and versions_id = #{versionsId}
}
